package com.hxzy.shop.dto.coupon;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class CarveUpCouponEditDto implements Serializable {
    private static final long serialVersionUID = 2409134929280230605L;
    @NotNull(message = "优惠券id不能为空")
    @ApiModelProperty(value = "优惠券id")
    private Long couponId;
    @NotBlank(message = "优惠券名称不能为空")
    @ApiModelProperty(value = "优惠券名称")
    private String couponName;
    @NotNull(message = "发放数量不能为空")
    @ApiModelProperty(value = "库存")
    private Integer stock;
    @ApiModelProperty(value = "开始有效期")
    private Date startTime;
    @ApiModelProperty(value = "结束有效期")
    private Date endTime;
    @NotNull(message = "限领状态不能为空")
    @ApiModelProperty(value = "每人领取状态 1 不限制 2 限制")
    private Integer receivingStatusEachPerson;
    @ApiModelProperty(value = "每人限领张数")
    private Integer limitedNumberTickets;
    @ApiModelProperty(value = "可使用商品状态 true全部商品 false部分商品")
    private Boolean availableCommodityStatus;
    @ApiModelProperty(value = "门槛金额")
    private BigDecimal limitedAmount;
    @ApiModelProperty(value = "优惠金额")
    private BigDecimal preferentialAmount;
    private String offerDescription;
    @ApiModelProperty(value = "使用须知")
    private String instructionsForUse;
    @ApiModelProperty(value = "药品id集合")
    private List<Long> drugIds;
    @ApiModelProperty(value = "是否开启会员权益0未开启，1已开启")
    private Integer isRights;
    @ApiModelProperty(value = "有效期类型 1.限时有效 2.领取后X天有效")
    private Integer validityType;
    @ApiModelProperty(value = "有效期 天")
    private Integer validity;
    @ApiModelProperty(value = "多少人瓜分")
    private Integer carveUpNum;
    @ApiModelProperty(value = "瓜分方式(1好友均分 2拼手气)")
    private Integer carveUpType;
    @ApiModelProperty(value = "使用门槛(1无门槛 2有门槛)")
    private Integer useThreshold;
    @ApiModelProperty(value = "活动主题设置（1默认主题 2自定义背景图）")
    private Integer themeSettings;
    @ApiModelProperty(value = "背景图地址")
    private String backgroundImg;
    @ApiModelProperty(value = "瓜分周期（天）")
    private Integer carveUpDay;
    @ApiModelProperty(value = "瓜分周期（时）")
    private Integer carveUpHour;
    @ApiModelProperty(value = "瓜分周期（分）")
    private Integer carveUpMinute;
}
